/*--------------------- Alteraes a partir de 01-04-2020 ------------* /

/* ----- 08-04-2020  ----- */
ALTER TABLE TBPESSOA ALTER PES_ENDERECO TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_COMPLEMENTO TYPE VARCHAR(40) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_BAIRRO TYPE VARCHAR(40) CHARACTER SET WIN1252;

ALTER TABLE TBPESSOA ALTER PES_ENDENTREGA TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_COMPLEMENTOENTREGA TYPE VARCHAR(40) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_BAIRROENTREGA TYPE VARCHAR(40) CHARACTER SET WIN1252;

ALTER TABLE TBPESSOA ALTER PES_ENDCOBRANCA TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_COMPLEMENTOCOBRANCA TYPE VARCHAR(40) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_BAIRROCOBRANCA TYPE VARCHAR(40) CHARACTER SET WIN1252;

/* ----- 22-04-2020  ----- */
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ADD AC_CODFICHA BIGINT;
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ALTER AC_ITENS TYPE VARCHAR(240) CHARACTER SET WIN1252;
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ALTER AC_MOTIVO TYPE VARCHAR(240) CHARACTER SET WIN1252;
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ADD AC_L1_DESLIGADO LOGICO DEFAULT 'N';
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ADD AC_L2_DESLIGADO LOGICO DEFAULT 'N';

/* ----- 04-05-2020  ----- */
ALTER TABLE TBFICHA_SERVICO ALTER FS_TAREFASEXTRAS TYPE VARCHAR(500) CHARACTER SET WIN1252;
ALTER TABLE TBFICHA_SERVICO ALTER FS_OBS TYPE VARCHAR(500) CHARACTER SET WIN1252;
ALTER TABLE TBEQUIPAMENTO ALTER EQ_MOTIVODESMONTAGEM TYPE VARCHAR(500) CHARACTER SET WIN1252;
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ALTER AC_ITENS TYPE VARCHAR(500) CHARACTER SET WIN1252;
ALTER TABLE TBEQUIPAMENTO_ACOMPANHAMENTO ALTER AC_MOTIVO TYPE VARCHAR(500) CHARACTER SET WIN1252;

/* ----- 08-05-2020 Correao relacionamento Representante no Conta Corrente Comissao ----- */
/* 1*/ --ALTER TABLE TBCOMISSAO ADD COM_AUXREPRES INTEGER;

/* 2*/ --update tbcomissao set COM_AUXREPRES = COM_codrep where COM_AUXREPRES is null;

/* 3*/ --UPDATE TBCOMISSAO SET COM_CODREP = (select pes_codigo from tbpessoa where (pes_codseq = TBCOMISSAO.COM_AUXREPRES and  pes_tipo = 'R'))
--where coalesce(COM_AUXREPRES,0) > 0;
--COMMIT;
/* ----- --------------------------------------------------------------------  ----- */


/* ----- 08-05-2020  ----- */
ALTER TABLE SIS_CONFIG ADD CONF_DIRARQREMESSABANC VARCHAR(240);
ALTER TABLE TBEQUIPAMENTO ADD EQ_DUALGAGE LOGICO DEFAULT 'N';
ALTER TABLE SIS_CONFIG ADD CONF_INTERVALOBACKUP INTEGER;

/* ----- 02-06-2020  ----- */
ALTER TABLE TBCFOP ADD CF_CSTIPI VARCHAR(3);
ALTER TABLE TBCFOP ADD CF_CST VARCHAR(3);

ALTER TABLE TBCFOP ADD CF_CSOSN VARCHAR(3);



/* ----- 04-08-2020  ----- */
ALTER TABLE TBBORDERO ADD BOR_CODCAIXA INTEGER;
ALTER TABLE TBBORDERO ADD CONSTRAINT FK_TBBORDERO_1 FOREIGN KEY (BOR_CODCAIXA) REFERENCES TBCAIXA(CX_CODIGO);

create view VW_TEMPCAIXA (CODBORDERO, CODCAIXA) as
 select DISTINCT ppa_codbordero BOR_CODIGO, ppa_codcaixa BOR_CODCAIXA
 from tbpedido_parcela, tbbordero_parcela
  where ppa_codbordero = borp_bordero
  and ppa_codigo = borp_codparc
  and coalesce(ppa_codcaixa,0) > 0;

UPDATE TBBORDERO SET BOR_CODCAIXA = (SELECT CODCAIXA FROM VW_TEMPCAIXA WHERE TBBORDERO.bor_codigo = vw_tempcaixa.codbordero) 
where BOR_CODCAIXA is null;

/* ----- 05-08-2020  ----- */

/******************************************************************************/
/****                             CRIA TBEXPEDIO                         ****/
/******************************************************************************/

CREATE GENERATOR GEN_TBEXPEDICAO_ID;

CREATE TABLE TBEXPEDICAO (
    EX_CODIGO       INTEGER NOT NULL,
    EX_CODPEDIDO    INTEGER NOT NULL,
    EX_CODFUNC      INTEGER NOT NULL,
    EX_DTINICIO     TIMESTAMP,
    EX_DATATERMINO  TIMESTAMP,
    EX_STATUS       VARCHAR(25)
);

ALTER TABLE TBEXPEDICAO ADD CONSTRAINT PK_TBEXPEDICAO PRIMARY KEY (EX_CODIGO);

ALTER TABLE TBEXPEDICAO ADD CONSTRAINT FK_TBEXPEDICAO_1 FOREIGN KEY (EX_CODPEDIDO) REFERENCES TBPEDIDO (PED_CODIGO) ON DELETE CASCADE ON UPDATE CASCADE;

SET TERM ^ ;

/* Trigger: TBEXPEDICAO_BI */
CREATE OR ALTER TRIGGER TBEXPEDICAO_BI FOR TBEXPEDICAO
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.ex_codigo is null) then
    new.ex_codigo = gen_id(gen_tbexpedicao_id,1);
end
^

SET TERM ; ^

CREATE GENERATOR GEN_TBEXPEDICAO_ITENS_ID;

CREATE TABLE TBEXPEDICAO_ITENS (
    EXI_CODIGO        INTEGER NOT NULL,
    EXI_CODEXPEDICAO  INTEIRO /* INTEIRO = INTEGER */,
    EXI_CODPRODUTO    INTEIRO /* INTEIRO = INTEGER */,
    EXI_ITEM          INTEGER NOT NULL,
    EXI_CODBARRAS     VARCHAR(14) NOT NULL,
    EXI_DATAHORA      TIMESTAMP,
    EXI_SITUACAO      VARCHAR(40),
    EXI_ACEITO        LOGICO DEFAULT 'S' /* LOGICO = CHAR(1) DEFAULT 'N' NOT NULL CHECK(value in ('S','N')) */
);

ALTER TABLE TBEXPEDICAO_ITENS ADD CONSTRAINT PK_TBEXPEDICAO_ITENS PRIMARY KEY (EXI_CODIGO);

ALTER TABLE TBEXPEDICAO_ITENS ADD CONSTRAINT FK_TBEXPEDICAO_ITENS_1 FOREIGN KEY (EXI_CODPRODUTO) REFERENCES TBPRODUTO (PROD_CODIGO);


SET TERM ^ ;


/* Trigger: TBEXPEDICAO_ITENS_BI */
CREATE OR ALTER TRIGGER TBEXPEDICAO_ITENS_BI FOR TBEXPEDICAO_ITENS
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.exi_codigo is null) then
    new.exi_codigo = gen_id(gen_tbexpedicao_itens_id,1);
end
^

SET TERM ; ^

CREATE GENERATOR GEN_TBEXPEDICAO_TOTAIS_ID;

CREATE TABLE TBEXPEDICAO_TOTAIS (
    EXT_CODIGO        INTEGER NOT NULL,
    EXT_CODEXPEDICAO  INTEIRO NOT NULL /* INTEIRO = INTEGER */,
    EXT_CODBARRAS     VARCHAR(14),
    EXT_QTDE          INTEGER,
    EXT_QTDE_ERRO     INTEIRO /* INTEIRO = INTEGER */
);


ALTER TABLE TBEXPEDICAO_TOTAIS ADD CONSTRAINT PK_TBEXPEDICAO_TOTAIS PRIMARY KEY (EXT_CODIGO);

ALTER TABLE TBEXPEDICAO_TOTAIS ADD CONSTRAINT FK_TBEXPEDICAO_TOTAIS_1 FOREIGN KEY (EXT_CODEXPEDICAO) REFERENCES TBEXPEDICAO (EX_CODIGO);

SET TERM ^ ;


/* Trigger: TBEXPEDICAO_TOTAIS_BI */
CREATE OR ALTER TRIGGER TBEXPEDICAO_TOTAIS_BI FOR TBEXPEDICAO_TOTAIS
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.ext_codigo is null) then
    new.ext_codigo = gen_id(gen_tbexpedicao_totais_id,1);
end
^

SET TERM ; ^

/******************************************************************************/


/* ----- 21-08-2020  ----- */

ALTER TABLE TBPEDIDO ADD PED_ORIGEM VARCHAR(30);
COMMENT ON COLUMN TBPEDIDO.PED_ORIGEM IS
'Origem da Entrada do Pedido:
DESKTOP
ECOMMERCE
SOMMAR(APP MOBILE)';

ALTER TABLE TBPEDIDO_ITENS ADD PIT_SITUACAO VARCHAR(20);

ALTER TABLE TBTABELA ADD TAB_STATUS VARCHAR(20);
COMMENT ON COLUMN TBTABELA.TAB_STATUS IS 'Situao atual da tabela
 ATIVO
 INATIVO
 EXCLUIDO';

ALTER TABLE TBTABELA_ITENS ADD TABI_STATUS VARCHAR(20);


/* ----- 14-09-2020  ----- */

ALTER TABLE TBPRODUTO ALTER PROD_RENAVAN TYPE VARCHAR(11) CHARACTER SET WIN1252;
ALTER TABLE TBVEICULO ALTER VEI_RENAVAM TYPE VARCHAR(11) CHARACTER SET WIN1252;
ALTER TABLE TBDOCUMENTO ALTER DOC_NOME TYPE VARCHAR(50) CHARACTER SET WIN1252;

ALTER TABLE TBEQUIPAMENTO_DETALHE ADD ED_DESCRICAO VARCHAR(20);
ALTER TABLE TBFICHA_EQUIPDETALHE ADD FED_DESCRICAO VARCHAR(20);

/* ---------------------------------------------------------------------------- ----- */ Sommar@2019

/* ----- 11-11-2020  ----- */

ALTER TABLE TBPESSOA ALTER PES_EMAIL TYPE VARCHAR(65) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_EMAIL2 TYPE VARCHAR(65) CHARACTER SET WIN1252;
ALTER TABLE TBPEDIDO ALTER PED_CPF_DEST TYPE VARCHAR(18) CHARACTER SET WIN1252;

/* ----- 12-11-2020  ----- */
ALTER TABLE TBEQUIPAMENTO ADD EQ_ULTSERVICO INTEGER;


/* ----- 30-11-2020  ----- */
ALTER TABLE TBCAIXA ADD CX_ENTRADA_OUTROS NUMERIC(15,2);
ALTER TABLE TBCAIXA ADD CX_SAIDA_OUTROS NUMERIC(15,2);
ALTER TABLE TBCAIXA ADD CX_SALDO_GERAL NUMERIC(15,2);

ALTER TABLE TBORDEM_SERVICO_ITENS ADD OSI_NUMERO BIGINT;
UPDATE tbordem_servico_itens set OSI_NUMERO = (SELECT OS_NUMERO FROM TBORDEM_SERVICO WHERE OS_CODIGO = tbordem_servico_itens.osi_codordem);

/* ----- 04-01-2021  ----- */
    ALTER TABLE TBUSUARIO ADD USU_CODPESSOA INTEGER;
    ALTER TABLE TBUSUARIO ADD USU_EMAIL VARCHAR(60);


/* ----- 18-01-2021  ----- */
    ALTER TABLE TBPRODUTO ADD PROD_AUX NUMERIC(15,3);
    update tbproduto set PROD_AUX = prod_custoestoque;
    ALTER TABLE TBPRODUTO DROP PROD_CUSTOESTOQUE;
    commit work;
    ALTER TABLE TBPRODUTO ADD PROD_CUSTOESTOQUE NUMERIC(15,3);
    update tbproduto set PROD_CUSTOESTOQUE = PROD_AUX;
    ---ALTER TABLE TBPRODUTO DROP PROD_AUX;


 ---ALTER PARA MOBILE  ELAINE ---
ALTER TABLE TBPESSOA ALTER PES_ENDERECO TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_OBS TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_HISTORICO TYPE VARCHAR(250) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ALTER PES_CEP TYPE VARCHAR(10) CHARACTER SET WIN1252;
ALTER TABLE TBPESSOA ADD PES_CIDADE VARCHAR(40);
ALTER TABLE TBPESSOA ADD PES_LATITUDE VARCHAR(25);
ALTER TABLE TBPESSOA ADD PES_LONGITUDE VARCHAR(25);
ALTER TABLE TBPRODUTO ADD PROD_PK_SERVIDOR INTEGER;


/* ----- 27-01-2021  ----- */
ALTER TABLE TBORDEM_SERVICO ADD OS_OBS VARCHAR(200);

/* ----- 02-02-2021  ----- */
ALTER TABLE TBESTOQUE ALTER EST_OBS TYPE VARCHAR(60) CHARACTER SET WIN1252;
ALTER TABLE TBFUNC_EPI ADD EPI_CERTIFICADO VARCHAR(10);
ALTER TABLE TBFUNC_EPI ADD EPI_VALIDADE DATE;

update RDB$RELATION_FIELDS set RDB$NULL_FLAG = NULL where (RDB$FIELD_NAME = 'PROD_COD1') and (RDB$RELATION_NAME = 'TBPRODUTO');

/*--------------------------------------------------------------------------*/
CREATE TABLE TBCONFIG (
    CAMPO  VARCHAR(50) NOT NULL,
    VALOR  VARCHAR(200)
);

ALTER TABLE TBCONFIG ADD CONSTRAINT PK_TBCONFIG PRIMARY KEY (CAMPO);

/*--------------------------------------------------------------------------*/

/* ----- 23-03-2021  ----- */
ALTER TABLE TBEQUIPAMENTO ADD EQ_ULT_ALTERACAO TIMESTAMP;
ALTER TABLE TBFUNCIONARIO ADD FUN_ULT_ALTERACAO TIMESTAMP;
ALTER TABLE TBEQUIPAMENTO ALTER EQ_NUMCHIP TYPE VARCHAR(20) CHARACTER SET WIN1252;
ALTER TABLE TBFUNCIONARIO ADD FUN_FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 80;

ALTER TABLE TBUSUARIO ADD USU_CODPESSOA INTEGER;
ALTER TABLE TBUSUARIO ADD USU_EMAIL VARCHAR(60);

Update tbproduto set prod_cod1 = prod_codigo where prod_cod1 is null;


/*
update tbproduto set prod_cod1 = prod_codigo where prod_cod1 is null;

UPDATE tbfuncionario SET FUN_ULT_ALTERACAO = current_timestamp;

UPDATE tbARQUIVO00 SET ARQ_DATAUPDATE = current_timestamp;

UPDATE tbPESSOA SET PES_DATAUPDATE = current_timestamp where  PES_TIPO = 'C' OR PES_CLIENTE = 'S';

UPDATE tbEQUIPAMENTO SET EQ_ULT_ALTERACAO = current_timestamp , eq_sincronizacao = 'S';

UPDATE tbproduto SET PROD_DATAUPDATE = current_timestamp;
*/

ALTER TABLE TBFUNCIONARIO ADD FUN_FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 80;
ALTER TABLE TBFICHA_SERVICO ALTER FS_NUMCHIP TYPE VARCHAR(20) CHARACTER SET WIN1252;

ALTER TABLE TBFICHA_SERVICO ADD FS_L1_CK_REALIZADA_CAPINA LOGICO;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_CK_REALIZADA_CAPINA LOGICO;

ALTER TABLE TBFICHA_SERVICO ADD FS_EQ_NUMERO INTEGER;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E1_TR3_ARF SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E1_TR3_ARM SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E1_TR3_ARG SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E2_TR3_ARF SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E2_TR3_ARM SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L1_E2_TR3_ARG SMALLINT;

ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E1_TR3_ARF SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E1_TR3_ARM SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E1_TR3_ARG SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E2_TR3_ARF SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E2_TR3_ARM SMALLINT;
ALTER TABLE TBFICHA_SERVICO ADD FS_L2_E2_TR3_ARG SMALLINT;

/ ----- 28-04-2021  ----- /
    ALTER TABLE TBBORDERO ADD BOR_CODUSUARIO INTEGER;
    ALTER TABLE TBBORDERO ADD BOR_ULTALTERACAO TIMESTAMP;


/ ----- 29-04-2021  ----- /
    ALTER TABLE SIS_CONFIG ADD CONF_BAIXAVENDASAVISTA LOGICO DEFAULT 'S';
    UPDATE SIS_CONFIG  CONF_BAIXAVENDASAVISTA = 'S';


/******************************************************************************/
CREATE GENERATOR GEN_TBFICHA_FOTO_ID;

CREATE TABLE TBFICHA_FOTO (
    FF_CODIGO       INTEGER NOT NULL,
    FF_CODFICHA     BIGINT,
    FF_FOTO         BLOB SUB_TYPE 0 SEGMENT SIZE 80,
    FF_DESCRICAO    VARCHAR(240),
    FF_DATAUPDATE   TIMESTAMP,
    FF_PK_SERVIDOR  BIGINT
);

ALTER TABLE TBFICHA_FOTO ADD CONSTRAINT PK_TBFICHA_FOTO PRIMARY KEY (FF_CODIGO);

ALTER TABLE TBFICHA_FOTO ADD CONSTRAINT FK_TBFICHA_FOTO_1 FOREIGN KEY (FF_CODFICHA) REFERENCES TBFICHA_SERVICO (FS_CODIGO) ON DELETE CASCADE ON UPDATE CASCADE;

SET TERM ^ ;

/* Trigger: TBFICHA_FOTO_BI */
CREATE OR ALTER TRIGGER TBFICHA_FOTO_BI FOR TBFICHA_FOTO
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.ff_codigo is null) then
    new.ff_codigo = gen_id(gen_tbficha_foto_id,1);
end
^
SET TERM ; ^
/******************************************************************************/


/* ----- 30-06-2021  ----- */

ALTER TABLE TBVEICULO_IND_REVISAO ALTER VR_DESCRICAO TYPE VARCHAR(250) CHARACTER SET WIN1252;